Conducting a transaction at a mobile POS terminal using a defined structure

ABSTRACT

A system and method configured for conducting a transaction between two parties using a mobile device, or a plurality of mobile devices. In various embodiments, a system for conducting a transaction can comprise an accessory device having an accessory device module and a hardware component, where the accessory device can have various accessory device capabilities. The system can further comprise a mobile device SDK incorporated into the client application and in communication with the accessory device, where the mobile device SDK includes an accessory conversion module in communication with the accessory device module and where the mobile device SDK provides data to the client application. The client application can request accessory device information and receive accessory device capabilities, and the transaction data for the transaction can be provided in a defined structure between the accessory device and the client application via the mobile device SDK.

CROSS-REFERENCE TO RELATED APPLICATION(S)

This patent application is a continuation of and claims the benefit ofpriority to U.S. application Ser. No. 16/230,126 filed on Dec. 21, 2018,which is a continuation of and claims the benefit of priority to U.S.application Ser. No. 13/838,057 filed on Mar. 15, 2013, now U.S. Pat.No. 10,204,331 issued on Feb. 12, 2019, the entireties of which areincorporated herein by reference.

FIELD OF THE DISCLOSURE

The present disclosure relates to the field of transaction processingbetween an application and an accessory device, and in particular,relates to the transaction processing being facilitated by a mobiledevice application.

BACKGROUND ART

Mobile devices such as smartphones and tablets are becoming more capableof various functions based on the development of hardware, software, andaccessories. One such capability is the processing of a transactionbetween a customer and a merchant using a mobile device. Typically, amerchant uses a mobile device and an accessory device to readinformation from a customer's account card and then process thetransaction through a third party authorization entity. To enabletransaction processing using the mobile device, a merchant willtypically download software to the mobile device that is configured tocommunicate with the accessory device. Each accessory device may havedifferent capabilities and different processing protocols for providingdata to the mobile device. Due to the differences between accessories, amerchant would need to download different individual software for eachaccessory device.

Furthermore, the download software may be provided to the merchant bythe third party authorization entity, resulting in the third partyauthorization entity providing several different software versions inorder to be compatible with different accessory devices. In addition,each upgrade or change to an accessory device may require an update tothe merchant's software or third party authorization entity's softwarein order to remain compatible. This results in constant monitoring andsoftware updates by the merchant and the third party authorizationentity. Moreover, if the third party authorization entity hastransaction processing compatibility limited to a few type of accessorydevices, then a merchant is equally limited in selection of an accessorydevice for use.

Thus, a need exists for enabling a third party authorization entityand/or merchant's transaction platform to be compatible with multipledifferent accessory devices and to do so using software that is notsubject to potential changes in an accessory device.

SUMMARY

The present disclosure provides a method, computer-readable medium andsystem for conducting a transaction between two parties using a mobiledevice, or a plurality of mobile devices. In various embodiments, asystem for conducting a transaction can comprise an accessory device,connected to a mobile device, comprising an accessory device module anda hardware component, wherein the accessory device can have variousaccessory device capabilities. The system can further comprise a clientapplication, installed on the mobile device, incorporating a mobiledevice software development kit (SDK), wherein the mobile device SDKcomprises an accessory conversion module in communication with theaccessory device module and wherein the mobile device SDK is configuredto provide data to the client application. The client application canrequest accessory device information and receives accessory devicecapabilities. The mobile device SDK can receive, from the accessorydevice module, transaction data in an accessory device format, and theaccessory conversion module converts the transaction data from theaccessory device format into a defined structure; and where the mobiledevice SDK provides, to the client application, the transaction data inthe defined structure.

In various embodiments, a mobile device SDK can comprise an accessoryconversion module for communicating with an accessory device module ofan accessory device. The mobile device SDK receives transaction data fora transaction in an accessory device format, converts the transactiondata from the accessory device format into a defined structure; andprovides, to the client application, the transaction data in the definedstructure. Also, the mobile device SDK communicates transaction data fora transaction between the client application and the accessory device.

The transaction can occur in accordance with various methods, forexample, conducting a transaction by receiving, by a mobile device SDK,a request for accessory device information from a client application;retrieving accessory device capabilities from an accessory device;providing the accessory device capabilities to the client application;receiving transaction data in an accessory format from the accessorydevice; converting, by an accessory conversion module of the mobiledevice SDK, the transaction data from the accessory device format to adefined structure; providing the transaction data in the definedstructure to the client application. In various embodiments, thetransaction can be a financial transaction or a non-financialtransaction.

The present disclosure further includes computer program product of acomputer-readable medium usable with a programmable computer and havingcomputer-readable code embodied therein for conducting a transactionbetween a merchant and a customer.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a block diagram of a mobile transaction system, inaccordance with various embodiments;

FIG. 2 illustrates a block diagram of a mobile transaction system withmultiple accessory devices, in accordance with various embodiments;

FIG. 3 illustrates a method for connecting to an accessory device, inaccordance with various embodiments;

FIG. 4 illustrates an exemplary screen shot of different options relatedto accessory device detection as displayed on a mobile device, inaccordance with various embodiments;

FIG. 5 illustrates an exemplary screen shot of a payment methodselection displayed on a mobile device, in accordance with variousembodiments;

FIG. 6 illustrates a block diagram of another mobile transaction systemwith multiple accessory devices, in accordance with various embodiments;

FIG. 7A illustrates a block diagram of a mobile transaction system, inaccordance with various embodiments;

FIG. 7B illustrates a block diagram of a mobile transaction system withmultiple client applications, in accordance with various embodiments;

FIG. 8 illustrates a screen shot of account information displayed on amobile device, in accordance with various embodiments; and

FIG. 9 illustrates a block diagram of a computer system for implementingthe present disclosure, in accordance with various embodiments.

DETAILED DESCRIPTION

Various embodiments presented herein relate to conducting a transactionbetween parties using a mobile device. The parties can be a merchant anda customer, an operator of a mobile device and a user, or a mobiledevice user and a user providing information to an accessory device. Thedetailed description of exemplary embodiments herein makes reference tothe accompanying drawings and figures, which show the exemplaryembodiments by way of illustration only. While these exemplaryembodiments are described in sufficient detail to enable those skilledin the art to practice the present disclosure, it should be understoodthat other embodiments may be realized and that logical and mechanicalchanges may be made without departing from the spirit and scope of thepresent disclosure. It will be apparent to a person skilled in thepertinent art that this disclosure can also be employed in a variety ofother applications. Thus, the detailed description herein is presentedfor purposes of illustration only and not of limitation. For example,the steps recited in any of the method or process descriptions may beexecuted in any order and are not limited to the order presented.

The present disclosure is described herein with reference to systemarchitecture, block diagrams and flowchart illustrations of methods, andcomputer program products according to various aspects of the presentdisclosure. It will be understood that each functional block of theblock diagrams and the flowchart illustrations, and combinations offunctional blocks in the block diagrams and flowchart illustrations,respectively, can be implemented by computer program instructions.

These computer program instructions may be loaded onto a general purposecomputer, special purpose computer, or other programmable dataprocessing apparatus to produce a machine, such that the instructionsthat execute on the computer or other programmable data processingapparatus create means for implementing the functions specified in theflowchart block or blocks. These computer program instructions may alsobe stored in a computer-readable memory that can direct a computer orother programmable data processing apparatus to function in a particularmanner, such that the instructions stored in the computer-readablememory produce an article of manufacture including instruction meanswhich implement the function specified in the flowchart block or blocks.The computer program instructions may also be loaded onto a computer orother programmable data processing apparatus to cause a series ofoperational steps to be performed on the computer or other programmableapparatus to produce a computer-implemented process such that theinstructions which execute on the computer or other programmableapparatus provide steps for implementing the functions specified in theflowchart block or blocks.

Accordingly, functional blocks of the block diagrams and flow diagramillustrations support combinations of means for performing the specifiedfunctions, combinations of steps for performing the specified functions,and program instruction means for performing the specified functions. Itwill also be understood that each functional block of the block diagramsand flowchart illustrations, and combinations of functional blocks inthe block diagrams and flowchart illustrations, can be implemented byeither special purpose hardware-based computer systems which perform thespecified functions or steps, or suitable combinations of specialpurpose hardware and computer instructions.

The present disclosure is now described in terms of an exemplary systemin which the present disclosure, in various embodiments, would beimplemented. This is for convenience only and is not intended to limitthe application of the present disclosure. It will be apparent to oneskilled in the relevant art(s) how to implement the present disclosurein alternative embodiments.

In accordance with various embodiments and with reference to FIG. 1, amobile transaction system 100 can comprise a client application 110incorporating a mobile device SDK 120, and an accessory device 130 incommunication with mobile device SDK 120. In various embodiments, amobile device transaction can occur by a transaction device beingpresented to accessory device 130. The transaction can be a financialtransaction or a non-financial transaction. Furthermore, in variousembodiments, the transaction can be communication of information betweentwo parties, and is not necessarily limited to an exchange of goods orservices for compensation. Accessory device 130 can receive consumertransaction information from the transaction device. The mobile deviceSDK 120 can send the consumer transaction information, along withmerchant transaction information, to client application 110 to processthe transaction. Mobile transaction system 100 has various advantageousover a traditional point-of-sale system, namely mobility and cost ofinfrastructure. Furthermore, mobile device SDK 120 acts as a middlemanfor communications between client application 110 and accessory device130, thereby providing flexibility and adaptability for mobile deviceSDK 120 to address any change made to accessory device 130 or clientapplication 110.

Furthermore, a mobile device SDK can be configured for communicatingwith multiple accessory devices. In various embodiments and withreference to FIG. 2, a mobile transaction system 200 can comprise clientapplication 110 incorporating mobile device SDK 120, similar to thedisclosure of mobile transaction system 100. However, mobile transactionsystem 200 can further comprise mobile device SDK 120 configured forcommunicating with multiple accessory devices, such as first accessorydevice 201, second accessory device 202, and/or third accessory device203. Multiple accessory devices can be connected to the mobile deviceSDK concurrently.

Client application 110 can be an application provided by a merchant, abusiness management software provider, a transaction processing entity,a card issuer, a third party authorization entity, a payment processor,an account issuer, a card authorizer, and the like. In variousembodiments, client application 110 can be developed using mobile deviceSDK 120. The client application 110 can be built with the mobile deviceSDK binaries. Client application 110 along with the mobile device SDKbinaries can be installed on a mobile device (not shown). The mobiledevice can be a smart phone, tablet computer, notebook computer, or anyother device that is compatible with an accessory device to form amobile point-of-sale terminal. Client application 110 can be configuredto communicate information to facilitate a transaction. For example,client application 110 can be a shell for an external application, suchas an internet application.

Accessory device 130 can be a mobile point-of-sale component thatincludes an accessory device SDK and connection hardware. The accessorydevice may also be referred to as a point-of-entry device. Eachaccessory device has certain device capabilities. In variousembodiments, accessory device 130 can comprise at least one of amagnetic stripe reader, a bar code reader, a pin pad, and a biometricreader. In various embodiments, accessory device 130 can retrieveinformation from a customer, a transaction card, a radio frequency (RF)device, or other transaction device. For example, information may beprovided to accessory device 130 by entering a PIN, swiping atransaction card, waving an RF device or the like. The accessory deviceSDK can convert the received information into a predetermined orpreselected format/protocol for communicating to mobile device SDK 120.The predetermined or preselected format/protocol may often beproprietary to the accessory device 130. In various embodiments, thetransaction device can be a financial card or a non-financial card, suchas a loyalty card, rewards card, a gift card, a driver's license, or anyother device that can be used to identify a consumer and/or a consumeraccount.

Conducting a Transaction

An initial step in conducting a transaction using at a mobilepoint-of-sale (POS) can be detecting if an accessory device is connectedto a mobile device. In various embodiments and with reference to FIG. 3,a method 300 of detecting an accessory device can comprise initializing,by a client application, a search for connected accessory devices 310,and receiving, by a mobile device SDK, an initialization call from theclient application 320. The mobile device SDK can provide enablinginstructions to all connected accessory devices 330. Further, the mobiledevice SDK can wait for an accessory device event 340. In response to anaccessory device event occurring, the mobile device SDK can poll foraccessory device connections and receive accessory device connectinformation 350. FIG. 4 illustrates various options that may be enabledfor selection in response to the accessory device being detected. Forexample, a user may select a magnetic stripe reader (MSR), a barcodereader, battery information for the detected accessory device, and/or aPIN pad.

Merchant data can also be collected as part of the transaction. As usedherein, merchant data can include information related to the product orservice subject to the transaction, a transaction price, and merchantidentification information. In various embodiments, the merchant datacan be provided from different sources. For example, at least part ofthe merchant data, such as quantity and price, can be manually enteredinto the client application or the mobile device application. In anotherexample, either the mobile device or the accessory device can include abar code scanner, which can be used to scan a barcode for the subjectservice or good, or a customer identification bar code. The bar code canbe used to retrieve information related to the service or good for thetransaction. In addition, another example can include the merchant databeing supplied from an application on the mobile device. The suppliedmerchant information can include pricing information, as well asmerchant identifying information.

In various embodiments, the method of payment can also be selected. FIG.5 illustrates an exemplary mobile device screenshot where payment methodoptions are presented for selection. The different methods can havedifferent processing protocols and information associated. Two examplesof payment methods from debit transactions and credit transactions areillustrated. However, transactions can be facilitated using othermethods which can be provided for selection, such as reward points,loyalty points, gift cards, and the like. In various embodiments, adebit transaction can include two authentication steps, namely swiping adebit card and inputting a personal identification number (PIN) into apin pad. Similarly, in various embodiments, a credit transaction caninclude swiping a credit card. A credit transaction could also includecapturing a signature for additional authentication. In variousembodiments, selecting the method of payment can occur before or aftermerchant data is collected.

As previously mentioned an accessory device has certain devicecapabilities. In accordance with various embodiments, device capabilitycan be information related to the functions and types of readers of theaccessory device. For example, accessory device capabilities can includea magnetic stripe reader, a PIN pad, a radio frequency identificationreader, an integrated circuit reader, and the like. In one embodiment,the accessory device SDK provides the device capabilities to the mobiledevice SDK. In another embodiment, the mobile device SDK can retrieveaccessory device capabilities from a lookup table based onidentification of the accessory device type. The lookup table can bepart of the mobile device SDK and located on the mobile device. Thelookup table can also be remotely located and accessed by the mobiledevice SDK.

Furthermore, in various embodiments, the mobile device SDK can providethe device capabilities to the client application. The mobile device SDKcan provide all the device capabilities or only a subset of all thedevice capabilities to the client application. In various embodiments,the mobile device SDK can provide a subset of device capabilities to theclient application, where the subset is selected based on communicationrestrictions, mobile device limitations, and the like. Providing only asubset of device capabilities may be desired if the mobile device ormobile device SDK has limitations that are not compatible with certainaccessory device capabilities. Further, limiting the provided devicecapabilities may also be desired if the rate of data transfer is low andcertain device capabilities need a higher data transfer rate.

The retrieval of accessory device capabilities can be followed byenabling one or more of the device capabilities. In various embodiments,the determination of which accessory device capabilities to enable canbe made from either the client application or the mobile device SDK. Themobile device SDK can enable one or more selected accessory devicecapabilities in response to the enablement determination. Further, invarious embodiments, mobile device SDK can monitor the accessory devicefor accessory device events.

In accordance with various embodiments, an accessory device event occursin response to a transaction card being swiped, a bar code being read,or any type of account information transfer to the accessory device tofacilitate a transaction. The accessory device reads the accountinformation provided by a customer, transaction card, or othertransaction device. The type of data and/or the data format of theaccount information can vary depending on the accessory device, and morespecifically the data format can be set by the accessory device SDK inan accessory device format. The accessory device format may beproprietary to the accessory device.

The account information can be communicated in the accessory deviceformat to the mobile device SDK. In accordance with various embodimentsand with reference to FIG. 6, a mobile device SDK 620 receives accountinformation from either a first accessory device 631 in a firstaccessory device format, or a second accessory device 632 in a secondaccessory device format. The mobile device SDK 620 can convert theaccount information into a defined structure for providing to a clientapplication 610. In accordance with various embodiments, the definedstructure can be any predetermined and/or preselected structure of datathat is known by the client application. The term “defined” inconnection with such structure should be understand broadly to mean anydata structure with known data fields. The defined structure can changeor be revised as long as documentation is communicated to the clientapplication so that a client application developer may integrateaccordingly. In various embodiments, mobile device SDK 620 can furthercomprise a first accessory conversion module 621 and a second accessoryconversion module 622. First accessory conversion module 621 can beconfigured to convert the account information from the first accessorydevice format to the defined structure. Similarly, second accessoryconversion module 622 can be configured to convert the accountinformation from the second accessory device format to the definedstructure. In accordance with various embodiments, regardless of whichaccessory device 631, 632 is used in the transaction, client application610 will receive the account information in the known and/or readilyrecognized defined structure. This defined structure enables clientapplication 610 to process a transaction and be buffered from softwareor format changes that can occur in the accessory device SDK ofaccessory devices 631, 632. Moreover, in various embodiments, clientapplication 610 can approve or disapprove of the transaction accordingto business as usual procedures. The client application 610 can display,or otherwise indicate, to a user the status of the transaction approvalprocess.

In accordance with various embodiments, a method of converting theaccount information into a defined structure can comprise receiving theaccount information from the accessory device SDK, parsing the accountinformation into multiple data variables, and composing the accountinformation variables into the defined structure. The mobile device SDKcan be configured to handle both encrypted and non-encrypted accountinformation. If the account information is encrypted, certain parts ofthe account information are masked. For example, the encrypted accountinformation from a transaction device can include account number anddiscretionary data. The masking can be done differently by differentaccessory device manufacturers, but the track data can still maintainits basic format. In various embodiments, the mobile device SDK receivescard data, parses the track data in to its components based on ISO 7813(account number, expiration date, etc.).

In accordance with various embodiments, mobile device SDK can produceparsed output in a single structure per accessory type. For example,data from a barcode scanner can be parsed into a barcode structure, anddata from a card reader can be parsed into a card reader structure. Invarious embodiments, the accessory structure may have the fields onlypartially populated if the specific accessory device being used does notprovide data to all the fields. The remaining fields can be empty ornull. For example, a non-encrypted accessory device can result in anaccessory structure with empty fields relating to encrypted data.Additionally, in various embodiments, mobile device SDK can also beconfigured to provide raw output data from an accessory device to theclient application. The raw output data can be provided in response tothe client application requesting more information than is available inthe parsed structures.

Alternatively, in various embodiments and with reference to FIG. 7A, amobile transaction system 700 can comprise a mobile device application701 incorporating a mobile device SDK 702, an accessory device 704 incommunication with mobile device application 701, and a clientapplication 703 in communication with mobile device application 701.Client application 151 can be remotely located from a mobile device (notshown) having mobile device application 701 installed. Clientapplication 703 can communicate with mobile device application 701 builtwith mobile device SDK 702 over the internet, phone lines, radiofrequency, and cellular network. The connection can be wired or wirelessto the mobile device application 701. In accordance with variousembodiments, client application 703 can receive, from mobile deviceapplication 701, information pertaining to a transaction, including bothmerchant information and customer information. Moreover, in variousembodiments, the information communicated between client application 703and mobile device application 701 can be communicated withpoint-to-point encryption.

In various embodiments and with reference to FIG. 7B, a mobile deviceapplication 720, incorporating a mobile device SDK 721, can be capableof producing multiple “defined” mobile device structures, depending onclient application needs. The mobile device application 720 can be incommunication with a first client application 711. Mobile deviceapplication 720 can also be in communication with a second clientapplication 712. In various embodiments, one or more of clientapplications 711, 712 can receive account information in the definedstructure from mobile device application 720. In alternative variousembodiments, one or more of client applications 711, 712 can receiveaccount information in a structure other than the defined structure. Inthis situation, mobile device application 720 can use an internalstructure, in addition to the communicated structure. For example, theaccount information in the accessory device format received at mobiledevice SDK 721 can be reformatted into the internal structure. Theinternal structure can then be converted by mobile device SDK 721 intoone of multiple “defined” mobile device structures for transmitting tofirst client application 711 and/or second client application 712. Theselection of which of the multiple defined mobile device structures canbe based on the client application's desired variables or datastructure. Accordingly, in various embodiments, mobile device SDK 721can further comprise a first client conversion module 722 and a secondclient conversion module 723. First client conversion module 722 can beconfigured to convert the account information from the internalstructure to a first client application structure. Similarly, secondclient conversion module 723 can be configured to convert the accountinformation from the internal structure to a second client applicationstructure.

In accordance with various embodiments, the account information can bestring data, such as name, expiration date, and/or account number. FIG.8 illustrates an exemplary screenshot of account information obtainedfrom a transaction card swipe at an accessory device. The data can beraw data, masked data, encrypted data, tokenized data, or clear data.Further, the data can be different combinations of raw data, maskeddata, encrypted data, tokenized data, or clear data, in whole or inpart. In various embodiments, account information that is received atthe mobile device SDK as masked data, encrypted data, or tokenized datacan be communicated to the client application in the same form. In otherwords, the mobile device SDK can transmit the account data withoutdecrypting or unmasking the data. In other various embodiments, themobile device application can include additional logic regarding whetherto encrypt/mask/tokenize account information that is unencrypted whenreceived.

In addition to the account information received from the accessorydevice, the mobile device SDK or the mobile device application can alsoreceive the data from the mobile device itself. In accordance withvarious embodiments, the mobile device can be used to capture additionalauthentication information. For example, the mobile device can beconfigured to capture a signature capture, a biometric reader, or an EMVchip in the transaction card or transaction device. In variousembodiments, the additional authentication information can be capturedby the accessory device, a second accessory device, or the mobiledevice. The additional authentication information can be sent to theclient application as part of the authorization process of thetransaction.

In accordance with various embodiments, the mobile device can run a webapplication or webpage, which can connect to the mobile device SDK forfacilitating a transaction. There are different variations of thesystem. In a first embodiment, a user may be on a webpage on the mobiledevice and desires to make a purchase on the mobile webpage. Instead ofentering the account information into the mobile webpage by typing orpulling the information from a saved file, the mobile device can beaware that the mobile device SDK is installed along with an accessorydevice. The mobile device may prompt the user to provide a transactiondevice at the accessory device, so that the mobile device SDK canreceive and then upload the account information to the mobile webpage.The mobile webpage can then processes the transaction using business asusual standards.

In a second embodiment, the user may be on a webpage on the mobiledevice and desires to make a purchase on the mobile webpage. Thetransaction can be processed through the mobile device SDK rather thanthrough the webpage.

In accordance with various embodiments, the present disclosure isdirected towards one or more computer systems capable of carrying outthe functionality described herein. An example of the computer systemsincludes a computer system 900, which is shown in FIG. 9.

The computer system 900 includes at least one processor, such as aprocessor 902. Processor 902 is connected to a communicationinfrastructure 904, for example, a communications bus, a cross over bar,a network, and the like. Various software embodiments are described interms of this exemplary computer system 900. After reading thisdescription, it will become apparent to a person skilled in the relevantart(s) how to implement the present disclosure using other computersystems and/or architectures.

The computer system 900 includes a display interface 906 that forwardsgraphics, text, and other data from the communication infrastructure 904(or from a frame buffer which is not shown in FIG. 9) for display on adisplay unit 908.

The computer system 900 further includes a main memory 910, such asrandom access memory (RAM), and may also include a secondary memory 912.The secondary memory 912 may further include, for example, a hard diskdrive 914 and/or a removable storage drive 916, representing a USBdrive, a magnetic tape drive, an optical disk drive, etc. The removablestorage drive 916 reads from and/or writes to a removable storage unit918 in a well-known manner. The removable storage unit 918 may representa USB stick, magnetic tape or an optical disk, and may be read by andwritten on by the removable storage drive 916. As will be appreciated,the removable storage unit 918 includes a computer usable storage mediumhaving stored therein, computer software and/or data.

In accordance with various embodiments of the present disclosure, thesecondary memory 912 may include other similar devices for allowingcomputer programs or other instructions to be loaded into the computersystem 900. Such devices may include, for example, a removable storageunit 920, and an interface 922. Examples of such devices may include aprogram cartridge and cartridge interface (such as that found in videogame devices), a removable memory chip (such as an erasable programmableread only memory (EPROM), or programmable read only memory (PROM)) andassociated socket, and other removable storage units 920 and interfaces922, which allow software and data to be transferred from the removablestorage unit 920 to the computer system 900.

The computer system 900 may further include a communication interface924. The communication interface 924 allows software and data to betransferred between the computer system 900 and external devices.Examples of the communication interface 924 include, but may not belimited to a modem, a network interface (such as an Ethernet card), acommunications port, a Personal Computer Memory Card InternationalAssociation (PCMCIA) slot and card, and the like. Software and datatransferred via the communication interface 924 are in the form of aplurality of signals, hereinafter referred to as signals 926, which maybe electronic, electromagnetic, optical or other signals capable ofbeing received by the communication interface 924. The signals 926 areprovided to the communication interface 924 via a communication path(e.g., channel) 928. The communication path 928 carries the signals 926and may be implemented using wire or cable, fiber optics, a telephoneline, a cellular link, a radio frequency (RF) link and othercommunication channels.

In this document, the terms “computer program medium” and “computerusable medium” are used to generally refer to media such as theremovable storage drive 916, a hard disk installed in hard disk drive914, the signals 926, and the like. These computer program productsprovide software to the computer system 900. The present disclosure isdirected to such computer program products.

Computer programs (also referred to as computer control logic) arestored in the main memory 910 and/or the secondary memory 912. Computerprograms may also be received via the communication interface 904. Suchcomputer programs, when executed, enable the computer system 900 toperform the features of the present disclosure, as discussed herein. Inparticular, the computer programs, when executed, enable the processor902 to perform the features of the present disclosure. Accordingly, suchcomputer programs represent controllers of the computer system 900.

In various embodiments, where the present disclosure is implementedusing a software, the software may be stored in a computer programproduct and loaded into the computer system 900 using the removablestorage drive 916, the hard disk drive 914 or the communicationinterface 924. The control logic (software), when executed by theprocessor 902, causes the processor 902 to perform the functions of thepresent disclosure as described herein.

In various embodiments, the present disclosure is implemented primarilyin hardware using, for example, hardware components such as applicationspecific integrated circuits (ASIC). Implementation of the hardwarestate machine so as to perform the functions described herein will beapparent to persons skilled in the relevant art(s).

In yet another embodiment, the present disclosure is implemented using acombination of both the hardware and the software.

The various embodiments of the present disclosure have been describedabove, it should be understood that they have been presented by way ofexample, and not limitation. It will be apparent to persons skilled inthe relevant art(s) that various changes in form and detail can be madetherein without departing from the spirit and scope of the presentdisclosure. Thus, the present disclosure should not be limited by any ofthe above described exemplary embodiments, but should be defined only inaccordance with the following claims and their equivalents.

In addition, it should be understood that the figures illustrated in theattachments, which highlight the functionality and advantages of thepresent disclosure, are presented for example purposes only. Thearchitecture of the present disclosure is sufficiently flexible andconfigurable, such that it may be utilized (and navigated) in ways otherthan that shown in the accompanying figures. Systems, methods andcomputer program products are provided.

In the detailed description herein, references to “various embodiments”,“one embodiment”, “an embodiment”, “an example embodiment”, etc.,indicate that the embodiment described may include a particular feature,structure, or characteristic, but every embodiment may not necessarilyinclude the particular feature, structure, or characteristic. Moreover,such phrases are not necessarily referring to the same embodiment.Further, when a particular feature, structure, or characteristic isdescribed in connection with an embodiment, it is submitted that it iswithin the knowledge of one skilled in the art to affect such feature,structure, or characteristic in connection with other embodimentswhether or not explicitly described. After reading the description, itwill be apparent to one skilled in the relevant art(s) how to implementthe disclosure in alternative embodiments.

The phrases consumer, customer, user, account holder, account affiliate,cardmember or the like shall include any person, entity, business,government organization, business, software, hardware, machineassociated with a transaction account, buys merchant offerings offeredby one or more merchants using the account and/or who is legallydesignated for performing transactions on the account, regardless ofwhether a physical card or other device is associated with the account.For example, the cardmember may include a transaction account owner, antransaction account user, an account affiliate, a child account user, asubsidiary account user, a beneficiary of an account, a custodian of anaccount, and/or any other person or entity affiliated or associated witha transaction account.

As used herein, “match” or similar terms may include an identical match,a partial match, matching a subset of data, a correspondence, anassociation, an algorithmic relationship and/or the like. Similarly, asused herein, “authenticate” or similar terms may include an exactauthentication, a partial authentication, authenticating a subset ofdata, a correspondence, an association, an algorithmic relationshipand/or the like.

For the sake of brevity, conventional data networking, applicationdevelopment and other functional aspects of the systems (and componentsof the individual operating components of the systems) may not bedescribed in detail herein. Furthermore, the connecting lines shown inthe various figures contained herein are intended to represent exemplaryfunctional relationships and/or physical couplings between the variouselements. It should be noted that many alternative or additionalfunctional relationships or physical connections may be present in apractical system.

As used herein, “transmit” may include sending electronic data from onesystem component to another over a network connection. Additionally, asused herein, “data” may include encompassing information such ascommands, queries, files, data for storage, and the like in digital orany other form.

As used herein, “issue a debit”, “debit” or “debiting” refers to eithercausing the debiting of a stored value or prepaid card-type financialaccount, or causing the charging of a credit or charge card-typefinancial account, as applicable.

Phrases and terms similar to an “item” may include any good, service,information, experience, data, discount, rebate, points, virtualcurrency, content, access, rental, lease, contribution, account, credit,debit, benefit, right, reward, points, coupons, credits, monetaryequivalent, anything of value, something of minimal or no value,monetary value, non-monetary value and/or the like. Moreover, the“transactions” or “purchases” discussed herein may be associated with anitem. Furthermore, a “reward” may be an item.

The system contemplates uses in association with web services, utilitycomputing, pervasive and individualized computing, security and identitysolutions, autonomic computing, cloud computing, commodity computing,mobility and wireless solutions, open source, biometrics, grid computingand/or mesh computing.

Any communication, transmission and/or channel discussed herein mayinclude any system or method for delivering content (e.g. data,information, metadata, etc), and/or the content itself. The content maybe presented in any form or medium, and in various embodiments, thecontent may be delivered electronically and/or capable of beingpresented electronically. For example, a channel may comprise a websiteor device (e.g., Facebook, YOUTube, AppleTV, Pandora, xBox, SonyPlaystation), a uniform resource locator (“URL”), a document (e.g., aMicrosoft Word document, a Microsoft Excel document, an Adobe .pdfdocument, etc.), an “ebook,” an “emagazine,” an application ormicroapplication (as described herein), an SMS or other type of textmessage, an email, facebook, twitter, MMS and/or other type ofcommunication technology. In various embodiments, a channel may behosted or provided by a data partner. In various embodiments, thedistribution channel and/or the may comprise at least one of a merchantwebsite, a social media website, affiliate or partner websites, anexternal vendor, a mobile device communication, social media networkand/or location based service. Distribution channels may include atleast one of a merchant website, a social media site, affiliate orpartner websites, an external vendor, and a mobile device communication.Examples of social media sites include Facebook®, Foursquare®, Twitter®,MySpace®, LinkedIn®, and the like. Examples of affiliate or partnerwebsites include American Express®, Groupon®, LivingSocial®, and thelike. Moreover, examples of mobile device communications includetexting, email, and mobile applications for smartphones. In variousembodiments, the server may include application servers (e.g. WEBSPHERE, WEB LOGIC, JBOSS). In various embodiments, the server mayinclude web servers (e.g. APACHE, IIS, GWS, SUN JAVA SYSTEM WEB SERVER).

A web client includes any device (e.g., personal computer) whichcommunicates via any network, for example such as those discussedherein. Such browser applications comprise Internet browsing softwareinstalled within a computing unit or a system to conduct onlinetransactions and/or communications. These computing units or systems maytake the form of a computer or set of computers, although other types ofcomputing units or systems may be used, including laptops, notebooks,tablets, hand held computers, personal digital assistants, set-topboxes, workstations, computer-servers, main frame computers,mini-computers, PC servers, pervasive computers, network sets ofcomputers, personal computers, such as iPads, iMACs, and MacBooks,kiosks, terminals, point of sale (POS) devices and/or terminals,televisions, or any other device capable of receiving data over anetwork. A web-client may run Microsoft Internet Explorer, MozillaFirefox, Google Chrome. Apple Safari, or any other of the myriadsoftware packages available for browsing the internet.

Practitioners will appreciate that a web client may or may not be indirect contact with an application server. For example, a web client mayaccess the services of an application server through another serverand/or hardware component, which may have a direct or indirectconnection to an Internet server. For example, a web client maycommunicate with an application server via a load balancer. In anexemplary embodiment, access is through a network or the Internetthrough a commercially-available web-browser software package.

As those skilled in the art will appreciate, a web client includes anoperating system (e.g., Windows NT, 95/98/2000/CE/Mobile, OS2, UNIX,Linux, Solaris, MacOS, PalmOS, etc.) as well as various conventionalsupport software and drivers typically associated with computers. A webclient may include any suitable personal computer, network computer,workstation, personal digital assistant, cellular phone, smart phone,minicomputer, mainframe or the like. A web client can be in a home orbusiness environment with access to a network. In an exemplaryembodiment, access is through a network or the Internet through acommercially available web-browser software package. A web client mayimplement security protocols such as Secure Sockets Layer (SSL) andTransport Layer Security (TLS). A web client may implement severalapplication layer protocols including http, https, ftp, and sftp.

In various embodiments, components, modules, and/or engines of system900 may be implemented as micro-applications or micro-apps. Micro-appsare typically deployed in the context of a mobile operating system,including for example, a Palm mobile operating system, a Windows mobileoperating system, an Android Operating System. Apple iOS, a Blackberryoperating system and the like. The micro-app may be configured toleverage the resources of the larger operating system and associatedhardware via a set of predetermined rules which govern the operations ofvarious operating systems and hardware resources. For example, where amicro-app desires to communicate with a device or network other than themobile device or mobile operating system, the micro-app may leverage thecommunication protocol of the operating system and associated devicehardware under the predetermined rules of the mobile operating system.Moreover, where the micro-app desires an input from a user, themicro-app may be configured to request a response from the operatingsystem which monitors various hardware components and then communicatesa detected input from the hardware to the micro-app.

As used herein, the term “network” includes any cloud, cloud computingsystem or electronic communications system or method which incorporateshardware and/or software components. Communication among the parties maybe accomplished through any suitable communication channels, such as,for example, a telephone network, an extranet, an intranet, Internet,point of interaction device (point of sale device, personal digitalassistant (e.g., iPhone®, Palm Pilot®. Blackberry®), cellular phone,kiosk, etc.), online communications, satellite communications, off-linecommunications, wireless communications, transponder communications,local area network (LAN), wide area network (WAN), virtual privatenetwork (VPN), networked or linked devices, keyboard, mouse and/or anysuitable communication or data input modality. Moreover, although thesystem is frequently described herein as being implemented with TCP/IPcommunications protocols, the system may also be implemented using IPX,Appletalk, IP-6, NetBIOS, OSI, any tunneling protocol (e.g. IPsec, SSH),or any number of existing or future protocols. If the network is in thenature of a public network, such as the Internet, it may be advantageousto presume the network to be insecure and open to eavesdroppers.Specific information related to the protocols, standards, andapplication software utilized in connection with the Internet isgenerally known to those skilled in the art and, as such, need not bedetailed herein. See, for example, Dilip Naik, Internet Standards andProtocols (1998); Java 2 Complete, various authors, (Sybex 1999);Deborah Ray and Eric Ray, Mastering HTML 4.0 (1997); and Loshin, TCP/IPClearly Explained (1997) and David Gourley and Brian Totty, HTTP, TheDefinitive Guide (2002), the contents of which are hereby incorporatedby reference.

The various system components may be independently, separately orcollectively suitably coupled to the network via data links whichincludes, for example, a connection to an Internet Service Provider(ISP) over the local loop as is typically used in connection withstandard modem communication, cable modem, Dish networks, ISDN. DigitalSubscriber Line (DSL), or various wireless communication methods, see,e.g., Gilbert Held, Understanding Data Communications (1996), which ishereby incorporated by reference. It is noted that the network may beimplemented as other types of networks, such as an interactivetelevision (ITV) network. Moreover, the system contemplates the use,sale or distribution of any goods, services or information over anynetwork having similar functionality described herein.

“Cloud” or “Cloud computing” includes a model for enabling convenient,on-demand network access to a shared pool of configurable computingresources (e.g., networks, servers, storage, applications, and services)that can be rapidly provisioned and released with minimal managementeffort or service provider interaction. Cloud computing may includelocation-independent computing, whereby shared servers provideresources, software, and data to computers and other devices on demand.For more information regarding cloud computing, see the NIST's (NationalInstitute of Standards and Technology) definition of cloud computing athttp://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf (lastvisited June 2012), which is hereby incorporated by reference in itsentirety.

Any databases discussed herein may include relational, hierarchical,graphical, or object-oriented structure and/or any other databaseconfigurations. Common database products that may be used to implementthe databases include DB2 by IBM (Armonk, N.Y.), various databaseproducts available from Oracle Corporation (Redwood Shores, Calif.).Microsoft Access or Microsoft SQL Server by Microsoft Corporation(Redmond, Wash.), MySQL by MySQL AB (Uppsala, Sweden), or any othersuitable database product. Moreover, the databases may be organized inany suitable manner, for example, as data tables or lookup tables. Eachrecord may be a single file, a series of files, a linked series of datafields or any other data structure. Association of certain data may beaccomplished through any desired data association technique such asthose known or practiced in the art. For example, the association may beaccomplished either manually or automatically. Automatic associationtechniques may include, for example, a database search, a databasemerge, GREP, AGREP, SQL, using a key field in the tables to speedsearches, sequential searches through all the tables and files, sortingrecords in the file according to a known order to simplify lookup,and/or the like. The association step may be accomplished by a databasemerge function, for example, using a “key field” in pre-selecteddatabases or data sectors. Various database tuning steps arecontemplated to optimize database performance. For example, frequentlyused files such as indexes may be placed on separate file systems toreduce In/Out (“I/O”) bottlenecks.

One skilled in the art will also appreciate that, for security reasons,any databases, systems, devices, servers or other components of thesystem may consist of any combination thereof at a single location or atmultiple locations, wherein each database or system includes any ofvarious suitable security features, such as firewalls, access codes,encryption, decryption, compression, decompression, and/or the like.

Encryption may be performed by way of any of the techniques nowavailable in the art or which may become available—e.g., Twofish, RSA,E1 Gamal, Schorr signature, DSA, PGP, PKI, GPG (GnuPG), and symmetricand asymmetric cryptosystems.

As used herein, the term “end user”, “consumer”, “customer”,“cardmember”, “business” or “merchant” may be used interchangeably witheach other, and each shall mean any person, entity, governmentorganization, business, machine, hardware, and/or software. A bank maybe part of the system, but the bank may represent other types of cardissuing institutions, such as credit card companies, card sponsoringcompanies, or third party issuers under contract with financialinstitutions. It is further noted that other participants may beinvolved in some phases of the transaction, such as an intermediarysettlement institution, but these participants are not shown.

The term “non-transitory” is to be understood to remove only propagatingtransitory signals per se from the claim scope and does not relinquishrights to all standard computer-readable media that are not onlypropagating transitory signals per se. Stated another way, the meaningof the term “non-transitory computer-readable medium” and“non-transitory computer-readable storage medium” should be construed toexclude only those types of transitory computer-readable media whichwere found in In Re Nuijten to fall outside the scope of patentablesubject matter under 35 U.S.C. § 101.

Phrases and terms similar to an “entity” may include any individual,consumer, customer, group, business, organization, government entity,transaction account issuer or processor (e.g., credit, charge, etc),merchant, consortium of merchants, account holder, charitableorganization, software, hardware, and/or any other type of entity. Theterms “user,” “consumer,” “purchaser,” and/or the plural form of theseterms are used interchangeably throughout herein to refer to thosepersons or entities that are alleged to be authorized to use atransaction account.

Phrases and terms similar to “account”, “account number”, “account code”or “consumer account” as used herein, may include any device, code(e.g., one or more of an authorization/access code, personalidentification number (“PIN”), Internet code, other identification code,and/or the like), number, letter, symbol, digital certificate, smartchip, digital signal, analog signal, biometric or otheridentifier/indicia suitably configured to allow the consumer to access,interact with or communicate with the system. The account number mayoptionally be located on or associated with a rewards account, chargeaccount, credit account, debit account, prepaid account, telephone card,embossed card, smart card, magnetic stripe card, bar code card,transponder, radio frequency card or an associated account.

The account number may be distributed and stored in any form of plastic,electronic, magnetic, radio frequency, wireless, audio and/or opticaldevice capable of transmitting or downloading data from itself to asecond device. A consumer account number may be, for example, asixteen-digit account number, although each credit provider has its ownnumbering system, such as the fifteen-digit numbering system used byAmerican Express. Each company's account numbers comply with thatcompany's standardized format such that the company using afifteen-digit format will generally use three-spaced sets of numbers, asrepresented by the number “0000 000000 00000”. The first five to sevendigits are reserved for processing purposes and identify the issuingbank, account type, etc. In this example, the last (fifteenth) digit isused as a sum check for the fifteen digit number. The intermediaryeight-to-eleven digits are used to uniquely identify the consumer. Amerchant account number may be, for example, any number or alpha-numericcharacters that identify a particular merchant for purposes of accountacceptance, account reconciliation, reporting, or the like.

In various embodiments, an account number may identify a consumer. Inaddition, in various embodiments, a consumer may be identified by avariety of identifiers, including, for example, an email address, atelephone number, a cookie id, a radio frequency identifier (RFID), abiometric, and the like.

Phrases and terms similar to “transaction account” may include anyaccount that may be used to facilitate a financial transaction.

Phrases and terms similar to “financial institution” or “transactionaccount issuer” may include any entity that offers transaction accountservices. Although often referred to as a “financial institution,” thefinancial institution may represent any type of bank, lender or othertype of account issuing institution, such as credit card companies, cardsponsoring companies, or third party issuers under contract withfinancial institutions. It is further noted that other participants maybe involved in some phases of the transaction, such as an intermediarysettlement institution.

Phrases and terms similar to “business” or “merchant” may be usedinterchangeably with each other and shall mean any person, entity,distributor system, software and/or hardware that is a provider, brokerand/or any other entity in the distribution chain of goods or services.For example, a merchant may be a grocery store, a retail store, a travelagency, a service provider, an on-line merchant or the like.

Phrases and terms similar to “merchant.” “supplier” or “seller” mayinclude any entity that receives payment or other consideration. Forexample, a supplier may request payment for goods sold to a buyer whoholds an account with a transaction account issuer.

Phrases similar to a “payment processor” may include a company (e.g., athird party) appointed (e.g., by a merchant) to handle transactions. Apayment processor may include an issuer, acquirer, authorizer and/or anyother system or entity involved in the transaction process. Paymentprocessors may be broken down into two types: front-end and back-end.Front-end payment processors have connections to various transactionaccounts and supply authorization and settlement services to themerchant banks' merchants. Back-end payment processors acceptsettlements from front-end payment processors and, via The FederalReserve Bank, move money from an issuing bank to the merchant bank. Inan operation that will usually take a few seconds, the payment processorwill both check the details received by forwarding the details to therespective account's issuing bank or card association for verification,and may carry out a series of anti-fraud measures against thetransaction. Additional parameters, including the account's country ofissue and its previous payment history, may be used to gauge theprobability of the transaction being approved. In response to thepayment processor receiving confirmation that the transaction accountdetails have been verified, the information may be relayed back to themerchant, who will then complete the payment transaction. In response tothe verification being denied, the payment processor relays theinformation to the merchant, who may then decline the transaction.Phrases similar to a “payment gateway” or “gateway” may include anapplication service provider service that authorizes payments fore-businesses, online retailers, and/or traditional brick and mortarmerchants. The gateway may be the equivalent of a physical point of saleterminal located in most retail outlets. A payment gateway may protecttransaction account details by encrypting sensitive information, such astransaction account numbers, to ensure that information passes securelybetween the customer and the merchant and also between merchant andpayment processor.

Benefits, other advantages, and solutions to problems have beendescribed herein with regard to specific embodiments. However, thebenefits, advantages, solutions to problems, and any elements that maycause any benefit, advantage, or solution to occur or become morepronounced are not to be construed as critical, required, or essentialfeatures or elements of the disclosure. The scope of the disclosure isaccordingly to be limited by nothing other than the appended claims, inwhich reference to an element in the singular is not intended to mean“one and only one” unless explicitly so stated, but rather “one ormore.” Moreover, where a phrase similar to ‘at least one of A, B, and C’or ‘at least one of A, B, or C’ is used in the claims or specification,it is intended that the phrase be interpreted to mean that A alone maybe present in an embodiment, B alone may be present in an embodiment, Calone may be present in an embodiment, or that any combination of theelements A, B and C may be present in a single embodiment; for example,A and B, A and C, B and C, or A and B and C. Although the disclosureincludes a method, it is contemplated that it may be embodied ascomputer program instructions on a tangible computer-readable carrier,such as a magnetic or optical memory or a magnetic or optical disk. Allstructural, chemical, and functional equivalents to the elements of theabove-described exemplary embodiments that are known to those ofordinary skill in the art are expressly incorporated herein by referenceand are intended to be encompassed by the present claims. Moreover, itis not necessary for a device or method to address each and everyproblem sought to be solved by the present disclosure, for it to beencompassed by the present claims. Furthermore, no element, component,or method step in the present disclosure is intended to be dedicated tothe public regardless of whether the element, component, or method stepis explicitly recited in the claims. No claim element herein is to beconstrued under the provisions of 35 U.S.C. 112, sixth paragraph, unlessthe element is expressly recited using the phrase “means for.” As usedherein, the terms “comprises”, “comprising”, or any other variationthereof, are intended to cover a non-exclusive inclusion, such that aprocess, method, article, or apparatus that comprises a list of elementsdoes not include only those elements but may include other elements notexpressly listed or inherent to such process, method, article, orapparatus.

What is claimed is:
 1. A method for conducting a mobile devicetransaction, the method comprising: receiving, by a mobile devicesoftware development platform, transaction data in an accessory deviceformat from an accessory device; converting, by a first clientapplication conversion module of the mobile device software developmentplatform, the transaction data into a first application-specific datastructure; providing, by the mobile device software developmentplatform, the transaction data in the first application-specific datastructure to a first client application; converting, by a second clientapplication conversion module of the mobile device software developmentplatform, the transaction data into a second application-specific datastructure; and providing, by the mobile device software developmentplatform, the transaction data in the second application-specific datastructure to a second client application.
 2. The method of claim 1,wherein the first application-specific data structure buffers the firstclient application from software or format changes of the accessorydevice, and the second application-specific data structure buffers thesecond client application from software or format changes of theaccessory device.
 3. The method of claim 1, further comprising:receiving, by the mobile device software development platform, accessorydevice capabilities from the accessory device; or determining, by themobile device software development platform, accessory devicecapabilities based on an accessory type of the accessory device.
 4. Themethod of claim 3, wherein the accessory capabilities comprise at leastone of: a card reader, a bar code scanner, a PIN pad, and a biometricreader.
 5. The method of claim 3, further comprising: selecting, by themobile device software development platform, a subset of the accessorydevice capabilities based on at least one of mobile device capabilities,client application capabilities, and communications restrictionscomprising a rate of data transfer; and providing, by the mobile devicesoftware development platform, the subset of the accessory devicecapabilities to at least one of the first client application and thesecond client application.
 6. The method of claim 5, further comprising:determining, by the mobile device software development platform, one ormore access device capabilities to selectively enable.
 7. The method ofclaim 1, wherein the transaction is one of: a financial transaction, thetransaction data being financial transaction data; and a non-financialtransaction, the transaction data being related to at least one of aloyalty program or a rewards program.
 8. A system comprising: at leastone processor; at least one data storage comprising instructions which,when executed by the at least one processor, cause the at least oneprocessor to perform a method for conducting a mobile devicetransaction, the method comprising: receiving, by a mobile devicesoftware development platform, transaction data in an accessory deviceformat from an accessory device; converting, by a first clientapplication conversion module of the mobile device software developmentplatform, the transaction data into a first application-specific datastructure; providing, by the mobile device software developmentplatform, the transaction data in the first application-specific datastructure to a first client application; converting, by a second clientapplication conversion module of the mobile device software developmentplatform, the transaction data into a second application-specific datastructure; and providing, by the mobile device software developmentplatform, the transaction data in the second application-specific datastructure to a second client application.
 9. The system of claim 8,wherein the first application-specific data structure buffers the firstclient application from software or format changes of the accessorydevice, and the second application-specific data structure buffers thesecond client application from software or format changes of theaccessory device.
 10. The system of claim 8, wherein the method furthercomprises: receiving, by the mobile device software developmentplatform, accessory device capabilities from the accessory device; ordetermining, by the mobile device software development platform,accessory device capabilities based on an accessory type of theaccessory device.
 11. The system of claim 10, wherein the accessorycapabilities comprise at least one of: a card reader, a bar codescanner, a PIN pad, and a biometric reader.
 12. The system of claim 10,wherein the method further comprises: selecting, by the mobile devicesoftware development platform, a subset of the accessory devicecapabilities based on at least one of mobile device capabilities, clientapplication capabilities, and communications restrictions comprising arate of data transfer; and providing, by the mobile device softwaredevelopment platform, the subset of the accessory device capabilities toat least one of the first client application and the second clientapplication.
 13. The system of claim 12, wherein the method furthercomprises: determining, by the mobile device software developmentplatform, one or more access device capabilities to selectively enable.14. The system of claim 8, wherein the transaction is one of: afinancial transaction, the transaction data being financial transactiondata; and a non-financial transaction, the transaction data beingrelated to at least one of a loyalty program or a rewards program.
 15. Anon-transitory computer-readable medium comprising instructions which,when executed by at least one processor, cause the at least oneprocessor to perform a method for conducting a mobile devicetransaction, the method comprising: receiving, by a mobile devicesoftware development platform, transaction data in an accessory deviceformat from an accessory device; converting, by a first clientapplication conversion module of the mobile device software developmentplatform, the transaction data into a first application-specific datastructure; providing, by the mobile device software developmentplatform, the transaction data in the first application-specific datastructure to a first client application; converting, by a second clientapplication conversion module of the mobile device software developmentplatform, the transaction data into a second application-specific datastructure; and providing, by the mobile device software developmentplatform, the transaction data in the second application-specific datastructure to a second client application.
 16. The non-transitorycomputer-readable medium of claim 15, wherein the firstapplication-specific data structure buffers the first client applicationfrom software or format changes of the accessory device, and the secondapplication-specific data structure buffers the second clientapplication from software or format changes of the accessory device. 17.The non-transitory computer-readable medium of claim 15, wherein themethod further comprises: receiving, by the mobile device softwaredevelopment platform, accessory device capabilities from the accessorydevice; or determining, by the mobile device software developmentplatform, accessory device capabilities based on an accessory type ofthe accessory device.
 18. The non-transitory computer-readable medium ofclaim 17, wherein the accessory capabilities comprise at least one of: acard reader, a bar code scanner, a PIN pad, and a biometric reader. 19.The non-transitory computer-readable medium of claim 17, wherein themethod further comprises: selecting, by the mobile device softwaredevelopment platform, a subset of the accessory device capabilitiesbased on at least one of mobile device capabilities, client applicationcapabilities, and communications restrictions comprising a rate of datatransfer; and providing, by the mobile device software developmentplatform, the subset of the accessory device capabilities to at leastone of the first client application and the second client application.20. The non-transitory computer-readable medium of claim 19, wherein themethod further comprises: determining, by the mobile device softwaredevelopment platform, one or more access device capabilities toselectively enable.